A typical data processing machine consists of a central processing unit which processes data stored in a storage facility. An important attribute of a good data processing machine is that the central processing unit has fast access to the data stored in the machine. However a large storage facility which will provide fast access to data is very expensive, so data processing machines have an intermediate storage facility which is smaller in size than the main storage unit but which provides very fast access to data for the central processing unit. This intermediate storage facility, known as a buffer or cache, holds blocks of data such as instructions or operands, and allows the central processing unit to access the instructions and operands it needs very fast. The contents of the buffer are continually updated to try to keep available data which the program currently executing in the central processing unit needs. If the central processing unit calls for data which is not resident in the buffer, then the buffer must retrieve the data from the main storage unit for presentation to the central processing unit.
The access of data from the main storage unit is a time consuming process. Further, the steps of storing the data from the mainstore into the buffer once the data has been retrieved from the mainstore requires time. So the access to data by the central processing unit can be enhanced by avoiding the intermediate step of writing data into the buffer before presenting the data to the central processing unit when the data must be accessed from the mainstore.
The time required to get data from the mainstore to the central processing unit has been reduced in the past by providing a bypass path for the data. The bypass path allows data to be presented to the central processing unit in parallel with the write of the data into the buffer. In this manner, the intermediate step of writing the data into the buffer does not contribute to the length of time required for accessing data from the mainstore. However, bypass paths require additional circuitry in the data processing machine which is costly.
Thus there is a need for an apparatus whereby the speed of access to data in the mainstore by the central processing unit is enhanced without requiring costly additional circuitry in the machine.